package com.haoniu.deal.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.haoniu.common.core.annotation.Excel;
import com.haoniu.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 流水明细对象 t_cw_pay_order_detail
 * 
 * @author haoniu
 * @date 2022-07-24
 */
public class TCwPayOrderDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 支付订单ID */
    @Excel(name = "支付订单ID")
    private Long payOrderId;

    /** 支付订单号 */
    @Excel(name = "支付订单号")
    private String payOrderNo;

    /** 业务订单ID(收付款计划) */
    @Excel(name = "业务订单ID(收付款计划)")
    private Long businessOrderPlanId;

    /** 业务订单号(收付款计划) */
    @Excel(name = "业务订单号(收付款计划)")
    private String businessOrderPlanNo;

    /** 操作类型：1：充值（企业充值），2：提现（企业提现），3：收款（企业收款计划），4：付款（企付款款计划） */
    @Excel(name = "操作类型：1：充值", readConverterExp = "企=业充值")
    private Integer businessOrderType;

    /** 收付款计划金额 */
    @Excel(name = "收付款计划金额")
    private BigDecimal businessOrderAmount;

    /** 商户id（由于暂时无法确定一次支付是否可能包含多个商户，故商户信息暂时加在支付订单明细中）
不同于流水表中的USERID，这里只记录相关的商户ID（流水表中的userid有可能是商户ID，也可能是租客ID） */
    @Excel(name = "商户id", readConverterExp = "由=于暂时无法确定一次支付是否可能包含多个商户，故商户信息暂时加在支付订单明细中")
    private Long businessId;

    /** 商户名 */
    @Excel(name = "商户名")
    private String businessName;

    /** 商户可结算金额（入金的时候，可以结算给商户虚拟账户的金额，比如商户充值金额，租户缴费金额，对账和结算时候用, 为0的时候，表示没有结算金额） */
    @Excel(name = "商户可结算金额", readConverterExp = "入=金的时候，可以结算给商户虚拟账户的金额，比如商户充值金额，租户缴费金额，对账和结算时候用,,为=0的时候，表示没有结算金额")
    private BigDecimal canClearingAmount;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 预留字段1 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预留字段1", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reserve1;

    /** 预留字段2 */
    @Excel(name = "预留字段2")
    private Long reserve2;

    /** 预留字段3 */
    @Excel(name = "预留字段3")
    private String reserve3;

    /** 预留字段4 */
    @Excel(name = "预留字段4")
    private String reserve4;

    /** 预留字段5 */
    @Excel(name = "预留字段5")
    private String reserve5;

    /** 删除标识。0:未删除，1：删除 */
    @Excel(name = "删除标识。0:未删除，1：删除")
    private Integer delFlg;

    /** 创建用户ID */
    @Excel(name = "创建用户ID")
    private Long createUserid;

    /** 更新用户ID */
    @Excel(name = "更新用户ID")
    private Long updateUserid;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setPayOrderId(Long payOrderId) 
    {
        this.payOrderId = payOrderId;
    }

    public Long getPayOrderId() 
    {
        return payOrderId;
    }
    public void setPayOrderNo(String payOrderNo) 
    {
        this.payOrderNo = payOrderNo;
    }

    public String getPayOrderNo() 
    {
        return payOrderNo;
    }
    public void setBusinessOrderPlanId(Long businessOrderPlanId) 
    {
        this.businessOrderPlanId = businessOrderPlanId;
    }

    public Long getBusinessOrderPlanId() 
    {
        return businessOrderPlanId;
    }
    public void setBusinessOrderPlanNo(String businessOrderPlanNo) 
    {
        this.businessOrderPlanNo = businessOrderPlanNo;
    }

    public String getBusinessOrderPlanNo() 
    {
        return businessOrderPlanNo;
    }
    public void setBusinessOrderType(Integer businessOrderType) 
    {
        this.businessOrderType = businessOrderType;
    }

    public Integer getBusinessOrderType() 
    {
        return businessOrderType;
    }
    public void setBusinessOrderAmount(BigDecimal businessOrderAmount) 
    {
        this.businessOrderAmount = businessOrderAmount;
    }

    public BigDecimal getBusinessOrderAmount() 
    {
        return businessOrderAmount;
    }
    public void setBusinessId(Long businessId) 
    {
        this.businessId = businessId;
    }

    public Long getBusinessId() 
    {
        return businessId;
    }
    public void setBusinessName(String businessName) 
    {
        this.businessName = businessName;
    }

    public String getBusinessName() 
    {
        return businessName;
    }
    public void setCanClearingAmount(BigDecimal canClearingAmount) 
    {
        this.canClearingAmount = canClearingAmount;
    }

    public BigDecimal getCanClearingAmount() 
    {
        return canClearingAmount;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }
    public void setReserve1(Date reserve1) 
    {
        this.reserve1 = reserve1;
    }

    public Date getReserve1() 
    {
        return reserve1;
    }
    public void setReserve2(Long reserve2) 
    {
        this.reserve2 = reserve2;
    }

    public Long getReserve2() 
    {
        return reserve2;
    }
    public void setReserve3(String reserve3) 
    {
        this.reserve3 = reserve3;
    }

    public String getReserve3() 
    {
        return reserve3;
    }
    public void setReserve4(String reserve4) 
    {
        this.reserve4 = reserve4;
    }

    public String getReserve4() 
    {
        return reserve4;
    }
    public void setReserve5(String reserve5) 
    {
        this.reserve5 = reserve5;
    }

    public String getReserve5() 
    {
        return reserve5;
    }
    public void setDelFlg(Integer delFlg) 
    {
        this.delFlg = delFlg;
    }

    public Integer getDelFlg() 
    {
        return delFlg;
    }
    public void setCreateUserid(Long createUserid) 
    {
        this.createUserid = createUserid;
    }

    public Long getCreateUserid() 
    {
        return createUserid;
    }
    public void setUpdateUserid(Long updateUserid) 
    {
        this.updateUserid = updateUserid;
    }

    public Long getUpdateUserid() 
    {
        return updateUserid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("payOrderId", getPayOrderId())
            .append("payOrderNo", getPayOrderNo())
            .append("businessOrderPlanId", getBusinessOrderPlanId())
            .append("businessOrderPlanNo", getBusinessOrderPlanNo())
            .append("businessOrderType", getBusinessOrderType())
            .append("businessOrderAmount", getBusinessOrderAmount())
            .append("businessId", getBusinessId())
            .append("businessName", getBusinessName())
            .append("canClearingAmount", getCanClearingAmount())
            .append("remarks", getRemarks())
            .append("reserve1", getReserve1())
            .append("reserve2", getReserve2())
            .append("reserve3", getReserve3())
            .append("reserve4", getReserve4())
            .append("reserve5", getReserve5())
            .append("delFlg", getDelFlg())
            .append("createUserid", getCreateUserid())
            .append("createTime", getCreateTime())
            .append("updateUserid", getUpdateUserid())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
